package com.lu.sb210207.task;

import lombok.extern.slf4j.Slf4j;
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * 定义任务类
 */
@Component
@Slf4j
public class QuartzDemo implements Job {
    /**
     * 任务被触发时所执行的方法
     */
    public void execute(JobExecutionContext arg0) throws JobExecutionException {

        log.info("Execute....{}", new Date());
    }

//    @Bean
    public void init3() throws SchedulerException {

        // 1.创建Job对象：你要做什么事？
        JobDetail job = JobBuilder.newJob(QuartzDemo.class).build();

        // 2.创建Trigger对象：在什么时间做？
        Trigger trigger = TriggerBuilder.newTrigger().withSchedule(CronScheduleBuilder.cronSchedule("0/2 * * * * ?")).build();

        // 3.创建Scheduler对象：在什么时间做什么事？
        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
        scheduler.scheduleJob(job, trigger);

        //启动
        scheduler.start();
    }

}
